#include "RegistroVariableMapaCategoria.h"

RegistroVariableMapaCategoria::RegistroVariableMapaCategoria()
{
        this->InitializeRegistro();
}

RegistroVariableMapaCategoria::~RegistroVariableMapaCategoria()
{
}

void RegistroVariableMapaCategoria::InitializeRegistro()
{
        this->IdCategoria = 0;
        this->nombreCategoria = "";
}


TCId RegistroVariableMapaCategoria::getIdCategoria()
{
        return this->IdCategoria;
}

string RegistroVariableMapaCategoria::getNombreCategoria()
{
        return this->nombreCategoria;
}

void RegistroVariableMapaCategoria::setIdCategoria(TCId value)
{
        this->IdCategoria = value;
}

void RegistroVariableMapaCategoria::setNombreCategoria(string value)
{
        this->nombreCategoria = value;
}

void RegistroVariableMapaCategoria::fillBuffer()
{
        this->setTamanioBuffer(sizeof(this->IdCategoria) + this->nombreCategoria.size());
        this->crearBuffer();
        this->putIntoBuffer(&this->IdCategoria, sizeof(this->IdCategoria));
        this->putIntoBuffer((void*)this->nombreCategoria.c_str(), this->nombreCategoria.size());
}

void RegistroVariableMapaCategoria::readFromBuffer()
{
        this->getFromBuffer(&this->IdCategoria, sizeof(this->IdCategoria));

        char* nombreCateg;
        nombreCateg = (char*)malloc(this->bytesLeft() + 1);
        memset(nombreCateg, '\0', this->bytesLeft() + 1);

        this->getFromBuffer(nombreCateg, this->bytesLeft());
        this->nombreCategoria = string(nombreCateg);
        free(nombreCateg);
}


